#ifndef MEDIAPUSHIMPL_H
#define MEDIAPUSHIMPL_H

#ifdef MEDIA_PUSH_EXPORTS 
#define MEDIA_PUSH_API __declspec(dllexport) 
#else 
#define MEDIA_PUSH_API __declspec(dllimport) 
#endif 

#include <string>
class MediaPushEvent;
class VideoAction;
class AudioAction;
class AsynchExecTask;
class MEDIA_PUSH_API MediaPushImpl
{
public:
    MediaPushImpl();
    ~MediaPushImpl();
public:
	bool Start(const std::string &url, AudioAction *pAudioAction, VideoAction *pVideoAction = NULL, MediaPushEvent *pMediaPushEvent = NULL);
    bool Stop();
private:
	AsynchExecTask * m_oAsynchExecTask;
};

#endif // MEDIAPUSHIMPL_H
